Conventionally, there are many vendor-specific and/or operating system (OS) specific error handling schemes for computer systems. To adopt a particular one of such schemes, specific modifications have to be made in the hardware or silicon of various computer system components (e.g., central processing unit (CPU), memory controller, input/output (I/O) controller, etc.). It is generally costly and inconvenient to design and manufacture such vendor and/or OS specific hardware.
In an effort to standardize error handling, a common error record format is defined for computer systems. Although the error record format is standardized, access to errors is still performed in vendor and/or OS specific manner (such as discovery, reporting, injection, etc.) in many conventional computer systems. Supporting the error access in a vendor and/or OS specific manner is costly as more silicon gates and platform logic are typically needed. Alternatively, per-platform and/or per-OS device drivers are developed and installed in some conventional computer systems to accommodate the vendor and/or OS specific error handling. However, such per-platform and/or per-OS device drivers typically add maintenance and validation costs to the computer systems.